-
-
Notifications
You must be signed in to change notification settings - Fork 8
feat: Add Technical Rider management system with sharing and PDF export #105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Implements a comprehensive technical rider management system for touring artists and production teams. Features: - Complete rider editor with artist info, band members, and contacts - Input/channel list management with mic specs and requirements - Sound system requirements (PA, monitors, console) - Backline and artist-provided equipment tracking - Technical staff requirements - Special requirements, power, lighting, and hospitality sections - Share functionality with view/edit permissions and expiration - Professional print-friendly PDF exports with proper page breaks - Integration with Production page - Database migrations for technical_riders table and RLS policies - Shared view and edit pages with routing - Updated share utilities to support technical_rider resource type Technical: - Created RiderEditor, AllRiders, SharedTechnicalRider components - Added RiderExport component for display and PDF generation - Database: technical_riders table with JSONB columns for arrays - RLS policies for owner access and shared link permissions - jsPDF + autoTable for print exports (matching production schedules) - Updated version to 1.5.6.8
✅ Deploy Preview for sounddocsbeta ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||||||||
User description
Implements a comprehensive technical rider management system for touring artists and production teams.
Features:
Technical:
PR Type
Enhancement, Documentation
Description
• Implements comprehensive technical rider management system for touring artists and production teams
• Creates complete rider editor with tabbed interface for artist info, band members, input channels, equipment, and staff requirements
• Adds professional PDF export capabilities with both color and print-friendly versions using jsPDF
• Implements sharing functionality with view/edit permissions and expiration controls
• Integrates technical riders into production documents dashboard
• Creates database schema with
technical_riderstable using JSONB columns for complex data structures• Establishes RLS policies for secure access control and shared link permissions
• Adds comprehensive TypeScript interfaces for all technical rider data structures
• Updates application routing to support rider management and shared access pages
• Version bump to 1.5.6.8 with complete changelog documentation
Diagram Walkthrough
File Walkthrough
12 files
shareUtils.ts
Extended share utilities to support technical rider resourcesapps/web/src/lib/shareUtils.ts
• Added
technical_riderto theResourceTypeunion type• Added case
handling for
technical_rideringetSharedResourcefunction to map totechnical_riderstable• Added URL generation logic for technical
rider share links with view/edit permissions
types.ts
Added TypeScript interfaces for technical rider data structuresapps/web/src/lib/types.ts
• Added comprehensive TypeScript interfaces for technical rider data
structures
• Defined
BandMember,InputChannel,BacklineItem,StaffRequirementinterfaces• Created
RiderForExportinterfacecontaining all technical rider fields including JSONB arrays
AllRiders.tsx
Complete technical rider management page with export and sharingapps/web/src/pages/AllRiders.tsx
• Created comprehensive technical rider management page with CRUD
operations
• Implemented search, sorting, and filtering functionality
for rider list
• Added PDF export capabilities with both color and
print-friendly versions using jsPDF
• Integrated share functionality
and delete confirmation modals
ProductionPage.tsx
Integrated technical riders into production documents dashboardapps/web/src/pages/ProductionPage.tsx
• Added technical riders section to production documents dashboard
•
Integrated rider fetching, display, and management functionality
•
Added export capabilities for technical riders with PDF generation
•
Extended delete confirmation to handle rider document type
RiderExport.tsx
Professional color export component for technical ridersapps/web/src/components/rider/RiderExport.tsx
• Created color export component for technical riders with
professional styling
• Implemented comprehensive layout with sections
for contact info, band members, input list, equipment, and
requirements
• Added gradient backgrounds and professional branding
elements
• Designed for PDF export with proper formatting and
responsive design
PrintRiderExport.tsx
Print-optimized export component for technical ridersapps/web/src/components/rider/PrintRiderExport.tsx
• Created print-friendly export component optimized for black and
white printing
• Implemented clean table layouts and proper typography
for professional documents
• Added page break considerations and
print-specific styling
• Designed for high-quality PDF generation with
minimal ink usage
RiderEquipment.tsx
Equipment management component for technical rider editorapps/web/src/components/rider/RiderEquipment.tsx
• Created equipment management component for technical riders
•
Implemented dynamic forms for PA, monitor, and console requirements
•
Added CRUD operations for backline requirements and artist-provided
gear
• Included validation and user-friendly interface elements
RiderEditor.tsx
Technical Rider Editor with Tabbed Interface and Database Integrationapps/web/src/pages/RiderEditor.tsx
• Creates a comprehensive technical rider editor with tabbed interface
for artist info, input list, equipment, and staff sections
•
Implements full CRUD operations with Supabase integration for
creating, reading, updating, and deleting technical riders
• Provides
state management for rider data with real-time saving functionality
and error handling
• Includes navigation controls and responsive
design with mobile-friendly layout
RiderInputList.tsx
Input Channel List Component with Responsive Designapps/web/src/components/rider/RiderInputList.tsx
• Implements input/channel list management with add, delete, and
duplicate functionality
• Provides responsive table view for desktop
and card view for mobile devices
• Includes form controls for channel
details like mic type, phantom power, and DI requirements
• Uses
InputChanneltype for structured data management with UUID-basedidentification
RiderTechnicalStaff.tsx
Technical Staff and Special Requirements Management Componentapps/web/src/components/rider/RiderTechnicalStaff.tsx
• Creates staff requirements management with add/delete functionality
for technical positions
• Implements multiple text areas for special
requirements, power, lighting, and hospitality notes
• Provides
structured form inputs for staff roles, quantities, and specific
requirements
• Uses
StaffRequirementtype for consistent datastructure
RiderArtistInfo.tsx
Artist Information and Band Member Management Componentapps/web/src/components/rider/RiderArtistInfo.tsx
• Implements artist information form with contact details and genre
fields
• Provides band member management with add/delete functionality
and instrument tracking
• Includes input requirements specification
for each band member
• Uses
BandMembertype for structured member datawith UUID identification
SharedTechnicalRider.tsx
Shared Technical Rider View Page with Export Integrationapps/web/src/pages/SharedTechnicalRider.tsx
• Creates shared technical rider view page with read-only access via
share codes
• Implements error handling for invalid or expired share
links
• Integrates with
RiderExportcomponent for professional displayformatting
• Provides loading states and navigation controls for
shared content
1 files
index.html
Version bump to 1.5.6.8apps/web/index.html
• Updated software version from "1.5.6.7" to "1.5.6.8" in structured
data
4 files
20250930110000_add_technical_riders_to_shared_links.sql
Database Migration for Technical Rider Sharing Supportsupabase/migrations/20250930110000_add_technical_riders_to_shared_links.sql
• Updates shared links constraint to include
technical_rideras validresource type
• Implements comprehensive RLS policies for technical
riders with owner and shared access controls
• Creates public access
policy for view-only sharing via share codes
• Establishes proper
security boundaries for technical rider sharing functionality
20250930100000_create_technical_riders.sql
Technical Riders Database Table Creation and Schemasupabase/migrations/20250930100000_create_technical_riders.sql
• Creates
technical_riderstable with comprehensive schema for allrider data
• Uses JSONB columns for arrays like band members, input
list, and equipment requirements
• Implements RLS policies for
user-owned data access and modification
• Adds automatic timestamp
triggers for tracking creation and modification dates
App.tsx
Application Routing for Technical Rider Managementapps/web/src/App.tsx
• Adds routing for technical rider editor, all riders list, and shared
rider pages
• Implements protected routes for authenticated rider
management
• Includes shared technical rider routes for both view and
edit access
• Integrates new rider components into application routing
structure
package.json
Package Version Update to 1.5.6.8apps/web/package.json
• Updates package version from 1.5.6.7 to 1.5.6.8
• Reflects new
release version for technical rider feature addition
1 files
CHANGELOG.md
Version 1.5.6.8 Release DocumentationCHANGELOG.md
• Documents version 1.5.6.8 release with comprehensive technical rider
system
• Details all new features including sharing, PDF export, and
database integration
• Includes script import instructions and trusted
by section additions
• Updates version information and feature
descriptions
1 files
VideoPage.tsx
Video Page Grid Spacing Adjustmentapps/web/src/pages/VideoPage.tsx
• Updates grid gap spacing from 6 to 8 for better visual separation
•
Minor styling adjustment for improved layout consistency